package br.com.ads.sgse.managedBean;

import java.util.List;

import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

import br.com.ads.dao.DAO;
import br.com.ads.sgse.entity.Municipio;

@ManagedBean(name="municipioBean")
@ViewScoped
public class MunicipioBean {
	private Municipio municipio = new Municipio();
	private List<Municipio> municipios;
	private DAO<Municipio> dao = new DAO<Municipio>(Municipio.class);
	private String parameter;

	public String getParameter() {return parameter;}
	public void setParameter(String parameter) {this.parameter = parameter;}

	/** ACTIONS **/

	@SuppressWarnings("unused")
	@PostConstruct
	private void init() {
		getAllMunicipios();
	}

	public String salvar() {
		try {
			if (municipio.getId() == null) {
				dao.adiciona(municipio);
			} else {
				dao.atualiza(municipio);
			}

			getAllMunicipios();
			municipio = new Municipio();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

	public void remove() {
		try {
			dao.remove(municipio);
			getAllMunicipios();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public void getAllMunicipios() {
		try {
			setMunicipios(dao.listaTodos());
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	public Municipio getMunicipio() {return municipio;}
	public void setMunicipio(Municipio municipio) {this.municipio = municipio;}
	
	public List<Municipio> getMunicipios() {return municipios;}
	public void setMunicipios(List<Municipio> municipios) {this.municipios = municipios;}
	
}
